清羽AI正在绞尽脑汁想思路ING···
清羽のAI摘要
GLM-4-Flash

碎碎念

在成都出差待了差不多半个月,因为任务比较重,基本没什么时间折腾博客,连日常维护都顾不上。好在工作之余还是抽空在城里转了转,去了宽窄巷子、成都博物馆、太古里这些地方。成都给人的第一感觉就是“热闹”,那种热闹不是刻意营造出来的,而是街头巷尾自然流露的生活气息。相比之下,上海西岑就显得安静了许多,完全是另一种节奏。

和上海相比,成都的生活强度其实更高一些,人也更累,但却多了一份人情味和烟火气。走在路上,到处都是叫卖声、聊天声,夜晚灯光亮起后更是热闹非凡,那是一种很真实、很接地气的感觉。

也是在成都这段时间里,闲暇时重新接触了一个 QQ 机器人项目——麦麦。其实之前就关注过这个项目,但当时功能还不够完善,加上手里的服务器逐渐到期,机器人计划也就被搁置了。直到前些天重新收到了一台 4C4G 的小带宽机器,用来跑机器人再合适不过,于是索性把这个计划捡了起来。折腾了一番之后,机器人终于顺利跑起来。

下面就分享一下跑起来的教程吧!

项目介绍

麦麦是一个基于大语言模型构建的可交互智能体项目,核心目标并不是打造一个“功能齐全的工具型机器人”,而是尝试让它成为一个真正活跃在 QQ 群聊中的“类生命体”。项目通过拟人化的 prompt 构建方式,让麦麦的回复更贴近真实人类的语言习惯,同时结合行为规划机制,在合适的时间以合适的方式参与对话,而不是机械地被动响应。随着使用过程的推进,麦麦还会逐渐学习群友的说话风格、表达方式,甚至尝试理解和记忆从未见过的黑话与新词,让交流显得更加自然。

麦麦机器人交流群
麦麦
大家好啊,我是刚入群的萌新,我叫麦麦
东风
你叫什么?再说一遍
麦麦
你尔多隆吗?
东风
你@#&¥
麦麦
有人急了,我不说是谁🤣👉🤡
LiuShen
6

在功能层面,麦麦内置了插件系统,提供较为完善的API与事件机制,方便开发者根据需要扩展能力;同时还引入了情绪与表情体系,使机器人的表达不再只是冷冰冰的文本。整个项目目前仍处于活跃开发阶段,新版本迭代频繁,功能和接口也在不断演进。正如作者所说,麦麦追求的并非“最好”,而是“最像”——它允许不完美、允许犯错,强调一种难以被完全掌控的自主感,从而让人更容易把它当作一个真实存在的群友,而不仅仅是一个对话机器。

项目还支持插件系统,虽然目前插件较少,但是总有一天会发展起来的,相信麦麦!

0.11.4版本,麦麦更新了webUI版本,易用性瞬间上了一个版本,这也是我入手的原因,下面就讲一下该项目怎么部署吧!

项目部署

前提要求

  1. 至少2C2G服务器一台,内外网均可。
  2. 充盈的API额度,免费模型下运行的麦麦几乎不可用,太笨了,虽然也能跑起来。
  3. 基础Linux知识。

开始部署

由于个人习惯使用Docker,所以本次教程主要以Linux下的Docker为主,暂时不涉及其他部署方式(主要是没玩过)。

文件准备

首先创建一个最基础的根目录,用来装下麦麦的所有配置文件及挂载文件。

下面,在当前文件夹下,创建以下文件结构:

1
2
3
4
5
6
7
8
9
10
.
├── docker-compose.yml
├── data
├── MaiMbot
└── maibot_statitics.html
└── docker-config
├── adapters
│ └── config.toml
└── mmc
└── .env

其中第一个docker-compose.yml文件写入以下文件:

第二个文件:maibot_statics.html,直接创建个空的即可,防止由于docker挂载自动生成文件夹了。

第三个是adapters配置文件,可以从以下目录中获取:

第四个文件为Maimai的核心程序配置文件,请从以下目录中复制示例配置文件:

修改配置

下面启动容器生成剩下的配置文件,执行以下命令:

1
docker compose up -d && sleep 15 && docker compose down

下面打开其中的docker-config/mmc/bot_config.toml文件,按照要求修改自己的配置,当然这些配置可以在后面的webui进行修改,所以问题不大,可以依赖于UI上丰富的说明进行修改。

和这个同级别的就是配置相关的模型配置文件了,上面是模型厂商的罗列,下面是模型的罗列,确保模型罗列的名称都不一样,不要重复。

比较重要的是适配器的配置,防止由于白名单机制导致麦麦没法说话,打开文件docker-config/adapters/config.toml,按照说明自行修改,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[inner]
version = "0.1.2" # 版本号
# 请勿修改版本号,除非你知道自己在做什么

[nickname] # 现在没用
nickname = ""

[napcat_server] # Napcat连接的ws服务设置
host = "adapters" # Napcat设定的主机地址
port = 8095 # Napcat设定的端口
token = "你的密钥" # Napcat设定的访问令牌,若无则留空
heartbeat_interval = 30 # 与Napcat设置的心跳相同(按秒计)

[maibot_server] # 连接麦麦的ws服务设置
host = "core" # 麦麦在 .env 文件中设置的主机地址,即HOST字段
port = 8000 # 麦麦在.env文件中设置的端口,即PORT字段

上面一部分可以按照我的修改,下面修改成对应的群组名单和私聊名单即可,切记,不知道的不要改。

麦麦启动

如果配置没什么问题,可以尝试使用docker命令启动,如下:

1
docker compose up -d

如果启动,Napcat应该跑在了http://<服务器IP>:6099上,可以尝试访问,其中的密钥可以在容器日志中找到(找不到日志了懒得截图了,自己找找)

千万注意

涉及到密钥的,请进入后台后设置强密码,否则控制台被劫持可能导致QQ机器人被控制造成不可逆转的后果!

进入控制台后,配置网络配置,添加一个Websocket客户端:

新建客户端

配置好之后可以尝试发起说说,此时麦麦应该就可以说话啦!

WebUI

如果机器人有了回应,下面就可以进入webUI进行进一步的操作,访问http://<你的IP>:18001进入麦麦控制台,自行按照说明修改即可,这里配置虽然多但是文案应该挺清晰的,就不多解释啦!配一张截图:

麦麦界面

教程就结束啦!

总结

以上就是麦麦 QQ 机器人的部署简易教程啦。整体折腾下来,其实并没有想象中那么复杂,反而多了不少乐趣。现在它已经被我悄悄丢进了几个群聊里“上岗工作”,虽然偶尔反应慢半拍,看起来还有点傻傻的,但在日常聊天中总能制造一些意想不到的小惊喜,也算是给枯燥的生活增添了一点技术之外的温度。

回头看最近几篇总结,情绪多少带着些伤感。从学生时代真正走向社会,这个转变来得比想象中更快,也更真实。最开始的那段时间,节奏、压力、角色的变化让我一度有些措手不及。不过好在经过这两三个月的摸索和磨砺,工作逐渐步入正轨,很多事情也开始变得清晰起来。接下来要面对的,就是转正这道关卡了。

如果一切顺利,转正之后,我也就正式踏入了“程序员”这个身份。虽然路还很长,技术也远远谈不上成熟,但至少已经迈出了第一步。希望以后能继续保持这种折腾和记录的习惯,在代码、生活和成长之间,慢慢找到属于自己的节奏。

诸君,山顶见!

每日一图

图片来自哲风壁纸

少年

欲买桃花同载酒,终不似,少年游。